/* eslint-disable */

import { AxiosRequestConfig } from 'axios';
import { request } from '../../utils/request';

export interface PostTempAlbumPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      albumSingers: Array<{
        id: number; // 流水号
        tempAlbumId: number; // 临时库专辑ID
        singerName: string; // 歌手名
        singerId: number; // 歌手ID
        singerOrder: number; // 歌手序号
        picPath: string; // 歌手图片
        picUrl: string; // 歌手图片url
        singerDesc: string; // 歌手描述
        ddexRole: string;
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      }>;
      xmls: Array<{
        albumId: number; // 专辑ID
        tempAlbumId: number; // 临时库专辑ID
        albumUpc: string; // 专辑UPC
        cpId: number; // 版权公司ID
        albumXmlPath: string; // XML path
        albumXmlUrl: string; // XML cos url
        uploadTime: string; // 上传时间
      }>;
      company: {
        companyId: number; // 公司ID
        companyName: string; // 公司名
        otherName: string; // 其它名
        type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        cpMain: string; // 签约公司主体
        companyDesc: string; // 公司介绍
        createUser: string; // 创建人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        parentCompany: number; // 所属父公司,同t_company.Fcompany_id
        cpCode: string; // 统一社会信用代码
        belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
        department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
        health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
        healthRemarks: string; // 健康度备注
        risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
        riskRemarks: string; // 风险评估备注
      };
      cpCompany: {
        companyId: number; // 公司ID
        companyName: string; // 公司名
        otherName: string; // 其它名
        type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        cpMain: string; // 签约公司主体
        companyDesc: string; // 公司介绍
        createUser: string; // 创建人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        parentCompany: number; // 所属父公司,同t_company.Fcompany_id
        cpCode: string; // 统一社会信用代码
        belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
        department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
        health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
        healthRemarks: string; // 健康度备注
        risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
        riskRemarks: string; // 风险评估备注
      };
      tempTracks: Array<{
        tempAlbumName: string; // 临时专辑名
        companyName: string; // 原始版权公司, 对应 Fcompany_id
        cpName: string; // 版权公司, 对应 Fcp_id
        trackSingerList: Array<{
          id: number;
          tempTrackId: number;
          singerName: string;
          singerId: number;
          forder: number;
          picPath: string;
          picUrl: string;
          singerDesc: string;
          ddexRole: string;
          insertTime: string;
          modifyTime: string;
        }>;
        trackLyricistList: Array<{
          id: number;
          tempTrackId: number;
          singerName: string;
          singerId: number;
          forder: number;
          picPath: string;
          picUrl: string;
          singerDesc: string;
          insertTime: string;
          modifyTime: string;
        }>;
        trackComposerList: Array<{
          id: number;
          tempTrackId: number;
          singerName: string;
          singerId: number;
          forder: number;
          picPath: string;
          picUrl: string;
          singerDesc: string;
          insertTime: string;
          modifyTime: string;
        }>;
        tempTrackId: number; // 临时库歌曲ID
        kgId: number;
        kwId: number;
        umId: number;
        qqId: number;
        insertFrom: number;
        tempAlbumId: number; // 临时库专辑ID
        copyrightId: number;
        copyrightArea: string; // 授权区域
        cpRemarks: string;
        srcPaymentModeId: number;
        paymentModeId: number; // 付费模式ID
        isMain: number; // 是否主打曲: 0否  1是
        trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
        trackAttr: string; // 歌曲属性, 多个id逗号分隔
        trackName: string; // 歌曲名
        srcTrackName: string; // 官方歌曲名
        transName: string; // 翻译名
        otherName: string; // 歌曲别名
        tvName: string; // 影视名
        srcTrackInfo: string; // 原唱歌曲信息
        displayArtistName: string; // 官方歌曲歌手名
        fdesc: string; // 歌曲子标题: 对应 t_track_extend.Fsub_title
        trackDesc: string; // 歌曲描述, 对应t_track_extend.Ftrack_desc
        saleTime: string; // 发售时间
        takedownTime: string; // 下架时间
        displayTime: string; // 歌曲列表可显示时间
        onlineTime: string; // 试听片段上线时间
        isrc: string; // ISRC
        publicTime: string; // 发行时间
        duration: number; // 时长
        iswc: string; // ISWC
        trackGrid: string; // GRID
        fileType: string; // 歌曲文件类型
        fileSize: number; // 文件大小
        fileUrl: string; // 文件url
        fileMd5: string; // 文件md5
        filePath: string; // 文件cos路径
        trackId: number; // 正式库歌曲ID
        refrainStart: number; // 试听开始时间点
        refrainEnd: number; // 试听开始结束点
        fileCheck: string; // 音质检测结果
        arranger: string; // 编曲
        producer: string; // 制作
        wordAuthor: string; // 作词
        musicAuthor: string; // 作曲
        groupTitle: string; // 作品集名
        version: string; // 官方版本
        genre: string; // 官方流派
        subgenre: string; // 官方子流派
        language: number; // 语言
        companyId: number; // 原始版权公司ID
        cpId: number; // 版权公司ID
        listIndex: number; // 歌曲顺序
        ffrom: number; // 歌曲来源
        cd: number; // cd索引
        trackNumber: string; // 歌曲编号，用于结算
        insertTime: string;
        trackPline: string; // pline
        trackCline: string; // cline
        parentGuidance: string; // 家长指导内容
        modifyTime: string;
        getInReason: number; // 入审核库原因
        reviewStatus: number; // 审核状态
        reviewTime: string; // 审核时间
        reviewUser: string; // 审核人
        uploadTime: string; // 物料拉取时间
        insertTrackId: number;
      }>;
      tempAlbumId: number; // 临时库ID
      kgId: number; // 酷狗ID
      kwId: number; // 酷我ID
      umId: number; // 爱听ID
      qqId: number; // Q音ID
      insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
      maintainer: number; // 解释：Merlin Member的名称 也可以叫party name
      scheduleStatus: number; // 连载状态 1 连载中 2 已完结
      albumName: string; // 专辑名
      srcAlbumName: string; // 官方专辑名
      transName: string; // 翻译名
      otherName: string; // 其它名
      displayArtistName: string; // 官方专辑歌手
      upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
      albumEan: string; // EAN 国际货品编号
      albumGrid: string; // Grid 发行作品识别码
      ffrom: number; // 来源厂牌
      getInReason: number; // 入审核库原因
      isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
      status: number; // 专辑状态 定义如下： 1 入库中 2 艺人匹配中 3 信息替换中 4 歌曲迁移中 5 重新匹配中 6 映射建立中 100 已入库 200 免检/强制入库 1000 版权冲突 -1 审核不通过
      dupProcessStatus: number; // 重复类型
      albumId: number; // 正式库ID
      photoWidth: number; // 专辑图片宽度
      photoHeight: number; // 专辑图片高度
      photoSize: number; // 专辑图片大小
      photoPath: string; // 专辑图片cos路径
      photoUrl: string; // 专辑图片cos url
      md5: string; // 专辑图片md5值
      imageResolution: number; // 图像分辨率
      albumXmlPath: string; // XML path
      albumXmlUrl: string; // XML cos url
      uploadUin: string; // 上传人
      checkUin: string; // 审核人
      dupAudio: string; // 指纹匹配重复结果
      dupUpc: string; // upc重复结果
      dupText: string; // 文本重复结果
      audioCheck: number; // 音质检测结果
      refuseReason: string; // 审核不通过原因
      saleTime: string; // 发售时间
      takedownTime: string; // 到期时间
      displayTime: string; // 专辑可显示时间
      coverDisplayTime: string; // 封面可显示时间
      trackCnt: number; // 歌曲数量
      publicTime: string; // 发行时间
      genre: string; // 官方流派
      subgenre: string; // 官方子流派
      language: number; // 官方语言
      area: number; // 地区
      type: number; // 专辑类别
      albumDesc: string; // 专辑描述
      companyId: number; // 原始版权公司ID
      cpId: number; // 版权公司ID
      version: string; // 官方版本
      merlinDpid: string; // merlin的DPID
      merlinMember: string; // merlin的merber
      discNumber: string; // 版权方提供的专辑编号，用于结算
      uploadTime: string; // 物料拉取时间
      srcDuration: number; // 官方专辑时长
      realDuration: number; // 实际专辑时长
      albumPline: string; // pline
      albumCline: string; // cline
      parentGuidance: string; // 家长指导内容
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      mapAlbumId: number; // 映射专辑ID
    }>;
  };
  traceId: string;
}

/**
 * 专辑分页查询
 */
export async function postTempAlbumPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumPageRes> {
  return request(data, {
    url: '/temp/album/page',
    method: 'post',
    ...config,
  });
}

export interface GetTempAlbumIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    albumSingers: Array<{
      id: number; // 流水号
      tempAlbumId: number; // 临时库专辑ID
      singerName: string; // 歌手名
      singerId: number; // 歌手ID
      singerOrder: number; // 歌手序号
      picPath: string; // 歌手图片
      picUrl: string; // 歌手图片url
      singerDesc: string; // 歌手描述
      ddexRole: string;
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
    xmls: Array<{
      albumId: number; // 专辑ID
      tempAlbumId: number; // 临时库专辑ID
      albumUpc: string; // 专辑UPC
      cpId: number; // 版权公司ID
      albumXmlPath: string; // XML path
      albumXmlUrl: string; // XML cos url
      uploadTime: string; // 上传时间
    }>;
    company: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    cpCompany: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    tempTracks: Array<{
      tempAlbumName: string; // 临时专辑名
      companyName: string; // 原始版权公司, 对应 Fcompany_id
      cpName: string; // 版权公司, 对应 Fcp_id
      trackSingerList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        ddexRole: string;
        insertTime: string;
        modifyTime: string;
      }>;
      trackLyricistList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        insertTime: string;
        modifyTime: string;
      }>;
      trackComposerList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        insertTime: string;
        modifyTime: string;
      }>;
      tempTrackId: number; // 临时库歌曲ID
      kgId: number;
      kwId: number;
      umId: number;
      qqId: number;
      insertFrom: number;
      tempAlbumId: number; // 临时库专辑ID
      copyrightId: number;
      copyrightArea: string; // 授权区域
      cpRemarks: string;
      srcPaymentModeId: number;
      paymentModeId: number; // 付费模式ID
      isMain: number; // 是否主打曲: 0否  1是
      trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
      trackAttr: string; // 歌曲属性, 多个id逗号分隔
      trackName: string; // 歌曲名
      srcTrackName: string; // 官方歌曲名
      transName: string; // 翻译名
      otherName: string; // 歌曲别名
      tvName: string; // 影视名
      srcTrackInfo: string; // 原唱歌曲信息
      displayArtistName: string; // 官方歌曲歌手名
      fdesc: string; // 歌曲子标题: 对应 t_track_extend.Fsub_title
      trackDesc: string; // 歌曲描述, 对应t_track_extend.Ftrack_desc
      saleTime: string; // 发售时间
      takedownTime: string; // 下架时间
      displayTime: string; // 歌曲列表可显示时间
      onlineTime: string; // 试听片段上线时间
      isrc: string; // ISRC
      publicTime: string; // 发行时间
      duration: number; // 时长
      iswc: string; // ISWC
      trackGrid: string; // GRID
      fileType: string; // 歌曲文件类型
      fileSize: number; // 文件大小
      fileUrl: string; // 文件url
      fileMd5: string; // 文件md5
      filePath: string; // 文件cos路径
      trackId: number; // 正式库歌曲ID
      refrainStart: number; // 试听开始时间点
      refrainEnd: number; // 试听开始结束点
      fileCheck: string; // 音质检测结果
      arranger: string; // 编曲
      producer: string; // 制作
      wordAuthor: string; // 作词
      musicAuthor: string; // 作曲
      groupTitle: string; // 作品集名
      version: string; // 官方版本
      genre: string; // 官方流派
      subgenre: string; // 官方子流派
      language: number; // 语言
      companyId: number; // 原始版权公司ID
      cpId: number; // 版权公司ID
      listIndex: number; // 歌曲顺序
      ffrom: number; // 歌曲来源
      cd: number; // cd索引
      trackNumber: string; // 歌曲编号，用于结算
      insertTime: string;
      trackPline: string; // pline
      trackCline: string; // cline
      parentGuidance: string; // 家长指导内容
      modifyTime: string;
      getInReason: number; // 入审核库原因
      reviewStatus: number; // 审核状态
      reviewTime: string; // 审核时间
      reviewUser: string; // 审核人
      uploadTime: string; // 物料拉取时间
      insertTrackId: number;
    }>;
    tempAlbumId: number; // 临时库ID
    kgId: number; // 酷狗ID
    kwId: number; // 酷我ID
    umId: number; // 爱听ID
    qqId: number; // Q音ID
    insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
    maintainer: number; // 解释：Merlin Member的名称 也可以叫party name
    scheduleStatus: number; // 连载状态 1 连载中 2 已完结
    albumName: string; // 专辑名
    srcAlbumName: string; // 官方专辑名
    transName: string; // 翻译名
    otherName: string; // 其它名
    displayArtistName: string; // 官方专辑歌手
    upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
    albumEan: string; // EAN 国际货品编号
    albumGrid: string; // Grid 发行作品识别码
    ffrom: number; // 来源厂牌
    getInReason: number; // 入审核库原因
    isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
    status: number; // 专辑状态 定义如下： 1 入库中 2 艺人匹配中 3 信息替换中 4 歌曲迁移中 5 重新匹配中 6 映射建立中 100 已入库 200 免检/强制入库 1000 版权冲突 -1 审核不通过
    dupProcessStatus: number; // 重复类型
    albumId: number; // 正式库ID
    photoWidth: number; // 专辑图片宽度
    photoHeight: number; // 专辑图片高度
    photoSize: number; // 专辑图片大小
    photoPath: string; // 专辑图片cos路径
    photoUrl: string; // 专辑图片cos url
    md5: string; // 专辑图片md5值
    imageResolution: number; // 图像分辨率
    albumXmlPath: string; // XML path
    albumXmlUrl: string; // XML cos url
    uploadUin: string; // 上传人
    checkUin: string; // 审核人
    dupAudio: string; // 指纹匹配重复结果
    dupUpc: string; // upc重复结果
    dupText: string; // 文本重复结果
    audioCheck: number; // 音质检测结果
    refuseReason: string; // 审核不通过原因
    saleTime: string; // 发售时间
    takedownTime: string; // 到期时间
    displayTime: string; // 专辑可显示时间
    coverDisplayTime: string; // 封面可显示时间
    trackCnt: number; // 歌曲数量
    publicTime: string; // 发行时间
    genre: string; // 官方流派
    subgenre: string; // 官方子流派
    language: number; // 官方语言
    area: number; // 地区
    type: number; // 专辑类别
    albumDesc: string; // 专辑描述
    companyId: number; // 原始版权公司ID
    cpId: number; // 版权公司ID
    version: string; // 官方版本
    merlinDpid: string; // merlin的DPID
    merlinMember: string; // merlin的merber
    discNumber: string; // 版权方提供的专辑编号，用于结算
    uploadTime: string; // 物料拉取时间
    srcDuration: number; // 官方专辑时长
    realDuration: number; // 实际专辑时长
    albumPline: string; // pline
    albumCline: string; // cline
    parentGuidance: string; // 家长指导内容
    insertTime: string; // 插入时间
    modifyTime: string; // 修改时间
    mapAlbumId: number; // 映射专辑ID
  };
  traceId: string;
}

/**
 * 获取专辑详情
 */
export async function getTempAlbumId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<GetTempAlbumIdRes> {
  return request(data, {
    url: `/temp/album/${id}`,
    method: 'get',
    ...config,
  });
}

export interface PostTempAlbumListRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: Array<{
    albumSingers: Array<{
      id: number; // 流水号
      tempAlbumId: number; // 临时库专辑ID
      singerName: string; // 歌手名
      singerId: number; // 歌手ID
      singerOrder: number; // 歌手序号
      picPath: string; // 歌手图片
      picUrl: string; // 歌手图片url
      singerDesc: string; // 歌手描述
      ddexRole: string;
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
    xmls: Array<{
      albumId: number; // 专辑ID
      tempAlbumId: number; // 临时库专辑ID
      albumUpc: string; // 专辑UPC
      cpId: number; // 版权公司ID
      albumXmlPath: string; // XML path
      albumXmlUrl: string; // XML cos url
      uploadTime: string; // 上传时间
    }>;
    company: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    cpCompany: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    tempTracks: Array<{
      tempAlbumName: string; // 临时专辑名
      companyName: string; // 原始版权公司, 对应 Fcompany_id
      cpName: string; // 版权公司, 对应 Fcp_id
      trackSingerList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        ddexRole: string;
        insertTime: string;
        modifyTime: string;
      }>;
      trackLyricistList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        insertTime: string;
        modifyTime: string;
      }>;
      trackComposerList: Array<{
        id: number;
        tempTrackId: number;
        singerName: string;
        singerId: number;
        forder: number;
        picPath: string;
        picUrl: string;
        singerDesc: string;
        insertTime: string;
        modifyTime: string;
      }>;
      tempTrackId: number; // 临时库歌曲ID
      kgId: number;
      kwId: number;
      umId: number;
      qqId: number;
      insertFrom: number;
      tempAlbumId: number; // 临时库专辑ID
      copyrightId: number;
      copyrightArea: string; // 授权区域
      cpRemarks: string;
      srcPaymentModeId: number;
      paymentModeId: number; // 付费模式ID
      isMain: number; // 是否主打曲: 0否  1是
      trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
      trackAttr: string; // 歌曲属性, 多个id逗号分隔
      trackName: string; // 歌曲名
      srcTrackName: string; // 官方歌曲名
      transName: string; // 翻译名
      otherName: string; // 歌曲别名
      tvName: string; // 影视名
      srcTrackInfo: string; // 原唱歌曲信息
      displayArtistName: string; // 官方歌曲歌手名
      fdesc: string; // 歌曲子标题: 对应 t_track_extend.Fsub_title
      trackDesc: string; // 歌曲描述, 对应t_track_extend.Ftrack_desc
      saleTime: string; // 发售时间
      takedownTime: string; // 下架时间
      displayTime: string; // 歌曲列表可显示时间
      onlineTime: string; // 试听片段上线时间
      isrc: string; // ISRC
      publicTime: string; // 发行时间
      duration: number; // 时长
      iswc: string; // ISWC
      trackGrid: string; // GRID
      fileType: string; // 歌曲文件类型
      fileSize: number; // 文件大小
      fileUrl: string; // 文件url
      fileMd5: string; // 文件md5
      filePath: string; // 文件cos路径
      trackId: number; // 正式库歌曲ID
      refrainStart: number; // 试听开始时间点
      refrainEnd: number; // 试听开始结束点
      fileCheck: string; // 音质检测结果
      arranger: string; // 编曲
      producer: string; // 制作
      wordAuthor: string; // 作词
      musicAuthor: string; // 作曲
      groupTitle: string; // 作品集名
      version: string; // 官方版本
      genre: string; // 官方流派
      subgenre: string; // 官方子流派
      language: number; // 语言
      companyId: number; // 原始版权公司ID
      cpId: number; // 版权公司ID
      listIndex: number; // 歌曲顺序
      ffrom: number; // 歌曲来源
      cd: number; // cd索引
      trackNumber: string; // 歌曲编号，用于结算
      insertTime: string;
      trackPline: string; // pline
      trackCline: string; // cline
      parentGuidance: string; // 家长指导内容
      modifyTime: string;
      getInReason: number; // 入审核库原因
      reviewStatus: number; // 审核状态
      reviewTime: string; // 审核时间
      reviewUser: string; // 审核人
      uploadTime: string; // 物料拉取时间
      insertTrackId: number;
    }>;
    tempAlbumId: number; // 临时库ID
    kgId: number; // 酷狗ID
    kwId: number; // 酷我ID
    umId: number; // 爱听ID
    qqId: number; // Q音ID
    insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
    maintainer: number; // 解释：Merlin Member的名称 也可以叫party name
    scheduleStatus: number; // 连载状态 1 连载中 2 已完结
    albumName: string; // 专辑名
    srcAlbumName: string; // 官方专辑名
    transName: string; // 翻译名
    otherName: string; // 其它名
    displayArtistName: string; // 官方专辑歌手
    upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
    albumEan: string; // EAN 国际货品编号
    albumGrid: string; // Grid 发行作品识别码
    ffrom: number; // 来源厂牌
    getInReason: number; // 入审核库原因
    isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
    status: number; // 专辑状态 定义如下： 1 入库中 2 艺人匹配中 3 信息替换中 4 歌曲迁移中 5 重新匹配中 6 映射建立中 100 已入库 200 免检/强制入库 1000 版权冲突 -1 审核不通过
    dupProcessStatus: number; // 重复类型
    albumId: number; // 正式库ID
    photoWidth: number; // 专辑图片宽度
    photoHeight: number; // 专辑图片高度
    photoSize: number; // 专辑图片大小
    photoPath: string; // 专辑图片cos路径
    photoUrl: string; // 专辑图片cos url
    md5: string; // 专辑图片md5值
    imageResolution: number; // 图像分辨率
    albumXmlPath: string; // XML path
    albumXmlUrl: string; // XML cos url
    uploadUin: string; // 上传人
    checkUin: string; // 审核人
    dupAudio: string; // 指纹匹配重复结果
    dupUpc: string; // upc重复结果
    dupText: string; // 文本重复结果
    audioCheck: number; // 音质检测结果
    refuseReason: string; // 审核不通过原因
    saleTime: string; // 发售时间
    takedownTime: string; // 到期时间
    displayTime: string; // 专辑可显示时间
    coverDisplayTime: string; // 封面可显示时间
    trackCnt: number; // 歌曲数量
    publicTime: string; // 发行时间
    genre: string; // 官方流派
    subgenre: string; // 官方子流派
    language: number; // 官方语言
    area: number; // 地区
    type: number; // 专辑类别
    albumDesc: string; // 专辑描述
    companyId: number; // 原始版权公司ID
    cpId: number; // 版权公司ID
    version: string; // 官方版本
    merlinDpid: string; // merlin的DPID
    merlinMember: string; // merlin的merber
    discNumber: string; // 版权方提供的专辑编号，用于结算
    uploadTime: string; // 物料拉取时间
    srcDuration: number; // 官方专辑时长
    realDuration: number; // 实际专辑时长
    albumPline: string; // pline
    albumCline: string; // cline
    parentGuidance: string; // 家长指导内容
    insertTime: string; // 插入时间
    modifyTime: string; // 修改时间
    mapAlbumId: number; // 映射专辑ID
  }>;
  traceId: string;
}

/**
 * 获取临时专辑集合
 */
export async function postTempAlbumList(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumListRes> {
  return request(data, {
    url: '/temp/album/list',
    method: 'post',
    ...config,
  });
}

export interface PostTempAlbumMatchRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑艺人匹配
 */
export async function postTempAlbumMatch(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumMatchRes> {
  return request(data, {
    url: '/temp/album/match',
    method: 'post',
    ...config,
  });
}

export interface PostTempAlbumReviewRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑审核
 */
export async function postTempAlbumReview(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumReviewRes> {
  return request(data, {
    url: '/temp/album/review',
    method: 'post',
    ...config,
  });
}

export interface PostTempAlbumQuery_duplicate_album_resultRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: Array<{
    id: number;
    albumNameStatus: number; // 专辑名重复检测状态
    albumUpcStatus: number; // 专辑UPC重复检测状态
    albumSingerStatus: number; // 专辑歌手重复检测状态
    albumImageStatus: number; // 专辑图片重复检测状态
    audioMatchStatus: number; // 音频匹配重复检测状态
    isrcMatchStatus: number;
    expCleStatus: number;
    dupResult: number;
    insertTime: string;
    modifyTime: string;
  }>;
  traceId: string;
}

/**
 * 获取重复专辑规则结果
 */
export async function postTempAlbumQuery_duplicate_album_result(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumQuery_duplicate_album_resultRes> {
  return request(data, {
    url: '/temp/album/query_duplicate_album_result',
    method: 'post',
    ...config,
  });
}

export interface PostTempAlbumQuery_no_id_singerRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: Array<{
    singerId: number; // 原专辑歌手id
    singerName: string; // 原专辑歌手名
    matchSingerIds: Array<number>;
  }>;
  traceId: string;
}

/**
 * 获取临时艺人(包含专辑艺人、歌曲艺人)
 */
export async function postTempAlbumQuery_no_id_singer(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumQuery_no_id_singerRes> {
  return request(data, {
    url: '/temp/album/query_no_id_singer',
    method: 'post',
    ...config,
  });
}

export interface PostTempAlbumUpdate_album_infoRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 替换专辑信息
 */
export async function postTempAlbumUpdate_album_info(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempAlbumUpdate_album_infoRes> {
  return request(data, {
    url: '/temp/album/update_album_info',
    method: 'post',
    ...config,
  });
}
